perm filename COMMON[F86,JMC] blob sn#828388 filedate 1986-11-16 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00011 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	common[f86,jmc]		Common sense database
C00003 00003	missionaries and cannibals, boats
C00004 00004	traffic lights and towers
C00005 00005	Dogs and trash cans:
C00006 00006	air travel
C00007 00007	buying and selling
C00008 00008	getting information
C00009 00009	taxonomy
C00011 00010	Blocks world:
C00012 00011	random remarks
C00013 ENDMK
C⊗;
common[f86,jmc]		Common sense database

Some concrete problems:

missionaries and cannibals, boats

In what form should the facts about using a boat be in a general
common sense database.

place x ∧ place y ∧ connected(x,y,water) ⊃ possible using(boat,go(x,y))

⊃  maybe ∃a b.action a ∧ is(a,going) ∧ origin a = x ∧ dest a = y ∧ vehicle a = b
∧ boat b.

Is there a boat that is used for going from  x  to  y?

storms, leaks, and other obstacles

boats ⊂ vehicles
traffic lights and towers

conceptual towers and real towers

How about verifying a design for a cart or wheelbarrow built of
Fischertechnik?  The object has to be shown to function properly.

Dogs and trash cans:
air travel

buying and selling

getting information

Normally a person knows the relevant facts.
taxonomy

Taxonomy will be a small part of the common sense database.
Some other AI systems give taxonomy, under the name ``inheritance
hierarchy'' a large place, and indeed there are difficulties in
getting it right.

``A boat is a vehicle'' is an example of a taxonomic fact.
We can refer to Linnaean taxonomy as one level, e.g. ``birds
are animals'' but not ``"animal" is a concept''.
Our taxonomy should be multi-level.

It looks like we should write

(1)	boat < vehicle

where  boat  and  vehicle  are names of concepts.  We will have
set-of(boat)  as a name for the set of boats and (1) will have
the consequence

(2)	set-of(boat) ⊂ set-of(vehicle).

Is there anything special about extending taxonomy to relationships?

(3)	husband < spouse.

Blocks world:

cause(move(x,l),at(x,l))

cause(move(x,l),loc x = l)

effect(move(x,l)) = (loc x = l)

meaning(loc x,c1) = country x

meaning(loc x,c2) = galaxy x

meaning(loc x,c3) = <atom x is attached to>


There are two possibilities, but they may be compatible.

does(person,move(x,l))

doer(<action>) = <person>

action(<action>) = move(x,l)

occurs(<action>,s)
random remarks

Do the problem or prove it's hard; I accept good excuses.  However,
I mean AI hard - not NP hard.

A plan that can overcome arbitrary obstacles when the relevant
information for overcoming them is provided.

It is better to do belief revision and STRIPS type deletions on
the basis of the actual pedigree of the beliefs rather than on
the basis of a theory-construction-time division of the fluents
into primary and secondary.  How to formalize the pedigree?